0 REM << CD43-6 >> 1 REM ================================== 2 REM COMMODARES PROBLEM #39-3 : 3 PRINT"[147] [194]INARY [208]OWER 2" 4 REM SOLUTION BY 5 REM PAUL SOBOLIK 6 REM ================================== 10 DIM PW(7):FOR I=0TO7:READ PW(I):NEXT 20 ML=5152:FOR X=0 TO 10:READ BY:POKE ML+X,BY:NEXT 30 N$="":INPUT"ENTER NO.";N$:N1=VAL(N$):IF N$="END" THEN END 40 POKE 251,N1:SYS ML:N2=PEEK(252):P=N1:GOSUB 60:B1$=P$:P=N2:GOSUB 60:B2$=P$ 50 PRINT :PRINT N1,B1$,B2$,N2:PRINT:GOTO 30 60 P$="":FOR I=7 TO 0 STEP -1:I$="0":IF(P AND PW(I)) THEN I$="1" 70 P$=P$+I$:NEXT:RETURN 80 DATA 1,2,4,8,16,32,64,128 81 REM ================================= 82 REM $FB HOLDS THE NUMBER TO BE 83 REM REVERSED. ASL LEFT-SHIFTS BIT 7 84 REM INTO CARRY. ROR RIGHT-ROTATES 85 REM CARRY INTO BIT 7. Y STORES LOOP 86 REM COUNT. 90 DATA 160,8 :REM ML LDY #$08 91 DATA 165,251 :REM LDA $FB 92 DATA 42 :REM LOOP ASL A 93 DATA 102,252 :REM ROR $FC 94 DATA 136 :REM DEY 95 DATA 208,250 :REM BNE LOOP 96 DATA 96 :REM RTS